<?php
class SubPages {
	private $pageSize; // 每页显示的条目数
	private $totalRows; // 总条目数
	private $currentPage; // 当前被选中的页
	private $totalPages; // 总页数
	private $subPageArray;//分页相关数据的数组
	/**
	 * __construct是SubPages的构造函数，用来在创建类的时候自动运行. 
	 * @pageSize 每页显示的条目数 
	 * @totalRows 总条目数 
	 * @currentPage 当前被选中的页 
	 * 
	 * 分页模式 example：
	 * 共50条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页] 
	 */
	function __construct($pageSize, $totalRows, $currentPage) {
		$this->pageSize 		= intval ( $pageSize );
		$this->totalRows 		= intval ( $totalRows );
		if (! $currentPage) {
			$this->currentPage 	= 1;
		} else {
			$this->currentPage 	= intval ( $currentPage );
		}
		$this->totalPages 		= ceil ( $totalRows / $pageSize );
	}
	


	/**
	 * 构造普通模式的分页 共50条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
	 * 总记录数	->        	$array["totalRows"]    
	 * 每页记录数->       	$array["pageSize"]     
	 * 当前页数->  	    	$array["currentPage"]  
	 * 总页数->  		    $array["totalPages"]   
	 * 每页记录开始位置-> 		$array["startRow"]     
	 * 首页->            	$array["firstPage"]    
	 * 上一页->          	$array["prewPage"]     
	 * 下一页->           	$array["nextPage"]     
	 * 尾页 ->            	$array["lastPage"]     
	 */
	function getPageArray() {
		$subPageArray = array();
		//总记录数
		$subPageArray["totalRows"] 		= $this->totalRows;
		//每页记录数
		$subPageArray["pageSize"] 		= $this->pageSize;
		//当前页数
		$subPageArray["currentPage"] 	= $this->currentPage;
		//总页数
		$subPageArray["totalPages"] 	= $this->totalPages;
		//每页记录开始位置
		$subPageArray["startRow"]		= ($this->currentPage-1)*$this->pageSize;
		
		if ($this->currentPage > 1) {
			//首页
			$subPageArray["firstPage"] 	= 1;
			//上一页
			$subPageArray["prewPage"] 	= $this->currentPage - 1;
		} else {
			//首页
			$subPageArray["firstPage"] 	= 1;
			//上一页
			$subPageArray["prewPage"] 	= 1;
		}
		
		if ($this->currentPage < $this->totalPages) {
			//下一页
			$subPageArray["nextPage"] 	= $this->currentPage + 1;
			//尾页
			$subPageArray["lastPage"] 	= $this->totalPages;
		} else {
			//下一页
			$subPageArray["nextPage"] 	= $this->totalPages;
			//尾页
			$subPageArray["lastPage"] 	= $this->totalPages;
		}
		
		return $subPageArray;
	}
	
	/**
	 * __destruct析构函数，当类不在使用的时候调用，该函数用来释放资源。
	*/
	function __destruct() {

	}
	
	
}
?>  